package com.taxi.driver.module.main.mine.wallet.withdrawal;

import com.taxi.driver.common.i.IBasePresenter;
import com.taxi.driver.common.i.IBaseView;
import com.taxi.driver.module.main.mine.wallet.MyWalletContract;
import com.taxi.driver.module.vo.WithdrawalVO;

public interface WithdrawalContract {
    interface View extends IBaseView<MyWalletContract.Presenter> {
        /**
         * 显示司机信息
         *
         * @param vo
         */
        void showDriverInfo(WithdrawalVO vo);

        /**
         * 提现成功
         */
        void withdrawalSucc();

        /**
         * 提现失败
         *
         * @param errCode 错误码
         * @param errMsg  错误原因
         */
        void withdrawalFail(int errCode, String errMsg);
    }

    interface Presenter extends IBasePresenter {
        /**
         * 请求司机信息
         */
        void reqDriverInfo();

        /**
         * 提现
         *
         * @param cash           金额
         * @param collectAccount 账号
         * @param collectType    收款类型
         * @param password       密码
         */
        void withdrawal(String cash, String collectAccount, int collectType, String password);
    }
}
